#include <stdio.h>
#include <string.h>

int Index(char str[], char substr[]) {
    int i, j, k;
    int str_len = strlen(str);
    int substr_len = strlen(substr);
    for (i = 0; i <= str_len-substr_len; i++) { // 可以提前结束循环
        // 每次循环都将j重置为i的位置，将k重置为0
        for (j = i, k = 0; str[j] == substr[k]; j++, k++);
        if (substr[k] == '\0') { // 找到了子串
            return i;
        }
    }
    return -1;
}

int main(){
    char str[1024];
    char substr[1024];
    scanf("%s", str); // str本身已经是一个指向字符数组的指针，不需要取地址
    // 读取字符，注意读取前要消耗掉输入缓冲区的换行符或空格
    getchar(); // 消耗掉换行符或空格
    scanf("%s", substr);
    int res = -1;
    int str_len = strlen(str);
    int substr_len = strlen(substr);
    
    for (int i = 0; i <= str_len - substr_len; i++) {
        int j = 0; // 每次循环都要将j置为0
        int pos = i; // 保存i的位置，将结果输出到res
        for (; j < substr_len && str[i] == substr[j]; ++i, ++j);
        if (j == substr_len) { // 找到了子串
            res = pos;
            break; // 找到第一个匹配的位置，立即退出
        }
    }
    printf("res = %d\n", res);

    res = Index(str, substr);
    printf("res = %d\n", res);

    return 0;
}

/*  1.找到子串第一个元素在主串中的位置（起始位置）
    2.匹配从起始位置开始 子串长度个字符 是否完全一致
      不完全一致，则进行下一次循环（寻找下一个起始位置）*/